package eteam.aps.service;

import eteam.aps.systeminterface.model.vo.QueryInfoVo;

import java.util.List;
import java.util.Map;

/**
 * 查询信息相关业务接口
 *
 * @author WMT
 * @Date 2023/2/3 14:14
 */
public interface QueryInfoService {

    /**
     * 查询用户信息
     * @return 用户列表
     */
    Map<String,String> selectUserName();

    /**
     * 查询机构信息
     * @return 机构列表
     */
    Map<String,String> selectOrgName();

    /**
     * 查询保障机构信息
     * @return 保障机构列表
     */
    Map<String,String> selectProOrgName();

    /**
     * 查询字典信息
     * @return 字典列表
     */
    Map<String,String> selectDdName();

    /**
     * 查询仓库信息
     * @return 仓库列表
     */
    Map<String,String> selectDepotName();

    /**
     * 查询生产商名称
     * @return 生产商名称
     */
    Map<String,String> selectProducerName();

    /**
     * 查询型号名称
     * @return 型号名称
     */
    Map<String,String> selectModelName();

    /**
     * 查询单位名称
     * @return 单位名称
     */
    Map<String,String> selectUnitName();


    /**
     * 查询字典列表
     * @return 字典列表
     */
    List<QueryInfoVo> dictionaryList();

    /**
     * 查询用户列表
     * @param fOrgId
     * @return
     */
    List<QueryInfoVo> personList(String fOrgId);

    /**
     * 查询组织机构列表
     * @return 组织机构列表
     */
    List<QueryInfoVo> orgList();

    /**
     * 查询保障机构列表
     * @return 保障机构列表
     */
    List<QueryInfoVo> proOrgList();

    /**
     * 查询仓库列表
     * @return 仓库列表
     */
    List<QueryInfoVo> depotList();

    /**
     * 查询保障机构下生产商列表
     * @return 生产商列表
     */
    List<QueryInfoVo> producerList();

    /**
     * 查询型号列表
     * @return 型号列表
     */
    List<QueryInfoVo> modelList();

    /**
     * 查询单位列表
     * @return 单位列表
     */
    List<QueryInfoVo> unitList();


    /**
     * 查所有人员
     * @return
     */
    List<QueryInfoVo> userList();

    /**
     * 保养计划列表
     * @return
     */
    List<QueryInfoVo> maintainPlanList();


    /**
     * 获取机构id和机构编号的集合
     * @return
     */
    Map<String, String> selectOrgCode();


    /**
     * 查询组织机构和编号列表
     * @return 组织机构列表
     */
    List<QueryInfoVo> orgCodeList();


    /**
     * 查询保养等级名称
     * @return 保养等级名称
     */
    Map<String, String> selectPreserveLevelName();

    /**
     * 查询巡修等级名称
     * @return 巡修等级名称
     */
    Map<String, String> selectRepairsLevelName();

    /**
     * 查询维修等级名称
     * @return 维修等级名称
     */
    Map<String, String> selectRepairName();

    /**
     * 查询费用信息列表
     * @return 费用信息列表
     */
    List<QueryInfoVo> fundInfoList();

    /**
     * 查询维修等级列表
     * @return 维修等级列表
     */
    List<QueryInfoVo> repairList();

    /**
     * 查询保养等级列表
     * @return 保养等级列表
     */
    List<QueryInfoVo> patrolsRepairsList();

    /**
     * 查询巡修等级列表
     * @return 巡修等级列表
     */
    List<QueryInfoVo> preserveLevelList();

    /**
     * 查询费用信息名称
     * @return 费用信息名称
     */
    Map<String, String> selectFundName();

    /**
     * 根据字典分类名称查询字典信息
     * @param ddcName 字典分类名称
     * @return 字典id,name
     */
    List<QueryInfoVo> selectDdInfo(String ddcName);

}
